﻿    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using DTO;
    using DAL;
    using BLL;
    namespace PhamMemQuanLyHocSinh
    {
        public partial class frmMain : Form
        {
            frmDangNhap dn = new frmDangNhap();
            public frmMain()
            {
                InitializeComponent();
            }
            private bool KiemTraTonTai(string name)
            {
                bool KT = false;
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm.Name == name)
                    {
                        KT = true;
                        break;
                    }
                }
                return KT; 
            }
            private void HienThiOnTop(string name)
            {
                foreach (Form frm in this.MdiChildren)
                {
                    if (frm.Name == name)
                    {
                        frm.Activate();
                        break;
                    }
                }
            }       

            private void btnDangNhap_Click(object sender, EventArgs e)
            {
                dangnhap();
            }
            private void btnDoiMatKhau_Click(object sender, EventArgs e)
            {
                if (!KiemTraTonTai("frmDoiMatKhau"))
                {
                    frmDoiMatKhau fDMK = new frmDoiMatKhau();
                    fDMK.MdiParent = this;
                    fDMK.Show();
                }
                else
                    HienThiOnTop("frmDoiMatKhau");
            }

            private void btnThemKhoiLop_Click(object sender, EventArgs e)
            {
                if (!KiemTraTonTai("frmQLKhoiLop"))
                {
                    frmQLKhoiLop fQLKL = new frmQLKhoiLop();
                    fQLKL.MdiParent = this;
                    fQLKL.Show();
                }
                else
                    HienThiOnTop("frmQLKhoiLop");
            }

            private void btnPCGD_Click(object sender, EventArgs e)
            {
                if (!KiemTraTonTai("frmPCGD"))
                {
                    frmPCGD fPCGD = new frmPCGD();
                    fPCGD.MdiParent = this;
                    fPCGD.Show();
                }
                else
                    HienThiOnTop("frmPCGD");
            }

            private void btnQLNV_Click(object sender, EventArgs e)
            {
                //if (!KiemTraTonTai("frmQLNV"))
                //{
                //    frmQLNV fQLNV = new frmQLNV();
                //    fQLNV.MdiParent = this;
                //    fQLNV.Show();
                //}
                //else
                //    HienThiOnTop("frmQLNV");
            }

            private void btnQLHS_Click(object sender, EventArgs e)
            {
                if (!KiemTraTonTai("frmQLHS"))
                {
                    frmQLSV fQLHS = new frmQLSV();
                    fQLHS.MdiParent = this;
                    fQLHS.Show();
                }
                else
                    HienThiOnTop("frmQLHS");
            }

            private void frmMain_Load(object sender, EventArgs e)
            {
                this.WindowState = FormWindowState.Maximized;
                dangnhap();
            }
            public void dangnhap()
            {
                if (dn == null || dn.IsDisposed)
                {
                    dn = new frmDangNhap();
                } 
                if (dn.ShowDialog() == DialogResult.OK)
                {
                cont: ;
                    NguoiDung_DTO nguoidung1 = new NguoiDung_DTO();
                    nguoidung1.TENDANGNHAP1 = dn.txtDangNhap.Text;
                    nguoidung1.MATKHAU1 = dn.txtMatKhau.Text;
        
                    int gt = NguoiDung_BLL.dangnhap(nguoidung1);
                    string tenloai = NguoiDung_BLL.laytenloai(nguoidung1);
                    if (dn.txtDangNhap.Text == "" || dn.txtMatKhau.Text == "")
                    {
                        MessageBox.Show("Bạn chưa nhập đủ thông tin đăng nhập", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        dn.ShowDialog();
                        goto cont;
                    }
                    else if (gt == 1)
                    {
                        
                        MessageBox.Show("Đăng nhập thành công quyền Admin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        dn.Close();
                        anhienbuttonkhidangnhap();
                    }
                    else if (gt == 2)
                    {
                        MessageBox.Show("Đăng nhập thành công quyền người dùng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        dn.Close();
                        anhienbuttonkhidangnhap();
                        lbl_quyendangnhap.Text = tenloai;
                    }
                    else
                    {
                        MessageBox.Show("Tài khoản không đúng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        dn.ShowDialog();
                        goto cont;
                    }
                }
            }
            public void anhienbuttonkhidangnhap()
            {
                btnDoiMatKhau.Enabled = true;
                btnDangXuat.Enabled = true;
                btnDangNhap.Enabled = false;
            }
            public void anhienbuttonkhidangxuat()
            {
                btnDoiMatKhau.Enabled = false;
                btnDangXuat.Enabled = false;
                btnDangNhap.Enabled = true;
            }

            public void btnDangXuat_Click(object sender, EventArgs e)
            {
               DialogResult hoi =  MessageBox.Show("Bạn muốn đăng xuất tài khoản không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
               if (hoi == DialogResult.Yes)
               {
                   anhienbuttonkhidangxuat();
                   dangnhap();
               }
            }
        }
    }
